package com.k8sops.backend.common;

/**
 * Constants for the DevOps system
 */
public class DevOpsConstant {

    /**
     * Role code constants
     */
    public static class RoleCode {
        /**
         * Super Administrator
         */
        public static final String SUPER_ADMINISTRATOR = "superAdministrator";
        
        /**
         * Administrator
         */
        public static final String ADMINISTRATOR = "administrator";
        
        /**
         * QA Administrator
         */
        public static final String QA_ADMINISTRATOR = "qaAdministrator";
        
        /**
         * Technology Manager
         */
        public static final String TECHNOLOGY_MANAGER = "technologyManager";
        
        /**
         * Web Manager
         */
        public static final String WEB_MANAGER = "webManager";
        
        /**
         * Java Engineer
         */
        public static final String JAVA_ENGINEER = "javaEngineer";
        
        /**
         * Web Engineer
         */
        public static final String WEB_ENGINEER = "webEngineer";
        
        /**
         * QA Engineer
         */
        public static final String QA_ENGINEER = "qaEngineer";
    }
    
    /**
     * Menu type constants
     */
    public static class MenuType {
        /**
         * Directory type menu
         */
        public static final String DIRECTORY = "directory";
        
        /**
         * Menu type
         */
        public static final String MENU = "menu";
        
        /**
         * Button type (permission point)
         */
        public static final String BUTTON = "button";
    }
    
    /**
     * Redis key prefixes
     */
    public static class RedisPrefix {
        /**
         * User role cache prefix
         */
        public static final String USER_ROLE_PREFIX = "devops:user:role:";
        
        /**
         * User permission cache prefix
         */
        public static final String USER_PERMISSION_PREFIX = "devops:user:permission:";
    }
}
